home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Graphics Plus
/
Graphics Plus.iso
/
msdos
/
viewers
/
naked102
/
nakedeye.txt
< prev
next >
Wrap
Text File
|
1992-04-07
|
53KB
|
1,081 lines
NakedEye A SuperVga GIF viewer
Van Dao Mai
Wollongong University
July 1991
1.1 Acknowledgements
I think it is always the work of somebody else that
makes your work worth doing. That is why I wish to
acknowledge the good work of Jordan Hargrave (for a
SuperVGA BGI driver) and Gershon Elber (a GIFLIB library)
for their excellent work. The SVGA256 BGI driver
written by Jordan for the Borland Turbo C compiler is
truly superb. On the other hand, the GIF library written
by Gershon is impressive and so easy to use. I created
this software NakedEye Version 1.0 relying on the two
software items mentioned above and found them extremely
useful.
1.2 Is there anything new ?
I am afraid that I am not offering many new things as far
as features are concerned, but I do think there is
something better. I adopt a stand that I will not repeat
what others have previously done beautifully. This GIF
viewer is designed for PCs running MsDos using some
really good old-fashioned programming techniques which
have generally been ignored by the careless programmers
of today's computing world. I do keep in the back of my
mind that the little machines we have today are the
giants of yesterday, and if we cannot make them do a
better job then we have failed pretty badly.
This GIF viewer is designed to work and make the most of
what a small architecture like that of a PC can offer,
typically 64K memory segments and a maximum of 640K of
conventional memory. To work within this restricted
environment, the amount of memory the GIF viewer needs is
1.5K of conventional memory for each opened image. This
1.5K is used mainly for the colour table, and the rest of
the image is either in EMS (Expanded Memory LIM 4.#) or
in a hard disk buffer. Nevertheless, this program is
almost as fast as any of the popular GIF viewers
currently in use by the DOS community. No attempt has
been made to optimise it for better efficiency. I have
to admit that this is sort of a rough work rather than
the work of a fine artist with a lot time and dedication.
I have spent only a little bit of my spare time on this
GIF viewer to convince myself that the good old-fashioned
techniques in programming are still very useful.
1.3 Some highlights
This GIF viewer is a pure SuperVGA GIF viewer, it does
not understand anything less than the resolution 640x400
(this is actually a lie, it does know 320x200, but I hate
this low resolution). The BGI driver by Jordan knows
640x480, 800x600 and 1024x678 in 256 colours. Thanks to
the beautiful BGI driver, we have 256 colours for all
resolutions of SuperVGA (it does not handle modes with
less colours).
- Supports Resolutions : 640x400, 640x480, 800x600
and 1024x678.
- Supports 256 colours (out of 256K colours).
- Can open up to 150 GIF files (about 40-50 Mbytes)
and be ready for very fast switching between them.
- Only 1.5K bytes is needed for each GIF picture in
the conventional 640K memory and the rest is in
EMS or/and hard disk.
- Automatically detect the idle time (when the
user is looking at the current picture) and make
use of it to decode the next image in advance.
This method gives NakedEye a substantial speed
advantage to many other popular GIF viewers.
- Provides automatic compression of the colour
table to leave some colour entries for text and
windows.
- Does not have any complicated installation or
configuration, thanks to the BGI driver's ability
to auto-detect the hardware type and handle it
accordingly.
- Is almost totally mouse-driven and needs minimal
key strokes.
- Gives some limited capabilities to resize and save
the images in GIF format. Provides a set of
exotic features uniquely designed for the
pleasure of the eyes. Well, in fact, these
features are also very nice for viewing materials
of scientific nature.
1.4 Using NakedEye
This GIF viewer is extremely easy to use, all you have to
do is to make sure that all its files are in one
directory.
readme : a short information file
NakedEye.txt : this documentation file
Note.txt : up to date information after version 1.0
NakedEye.exe : the executable.
Splayer.exe : the VOC sound player.
NakedEye.cfg : optional configuration file.
Goth.chr : font file.
Litt.chr : font file
Svga256.bgi : Jordan's SuperVGA BGI
driver.
stories.rc : miscellaneous messages.
NakedEye.hlp : help information file.
NakedEye.key : the key file (registered copy only).
There are also some other documentation files which are
not used by the program. There are various extra files
in this release 1.0.1, please read the file NOTE.TXT for
changes since the first version 1.0
The hardware requirement for this software to run is an
IBM PC or compatible with a SuperVGA video card and a
SuperVGA monitor. The video card must have at least 512K
RAM for resolutions up to 800x600 in 256 colours, and
definitely 1Mb RAM for the resolution 1024x768 in 256
colours.
Here is the list of video cards supported by the SuperVGA
graphics driver : Ahead, ATI, Chips & Tech, Everex,
Paradise, Trident, Tseng (both 3000 and 4000 chipsets)
and Video7.
At the DOS prompt type NakedEye gif-files where gif-files
is a list of GIF files (a wild card is accepted in each
item of the list). If directories are given they will be
scanned and all GIF files within them will be loaded.
All the GIF file names will be sorted alphabetically,
then the file names will be displayed in a window
awaiting your selection.
After selecting what you would like to load, hit the L
key to start loading the first image. Then NakedEye will
display the control panel window and wait for your
commands. All other images will be loaded on demand when
you wish to see them. At this point hit F2 to start
loading the rest of the GIF files in a slide show if you
wish. If you do not have a mouse, you will be limited to
keyboard commands. Let's first look at the Control
Panel of NakedEye.
1.4.1 The Control Panel
Here is the Control Panel window for NakedEye. All
functions on the panel are only accessible by the mouse.
Some are offered on the keyboard and will be described
later.
+------------------+
| NakedEye |
+------------------+
| AboutMe SHELL |
| 640x400 640x480 |
| 800x600 1024x768 | <--- Resolution changes
| Light+ Light- |
| Red+ Red- | <--- Colour intensity changes
| Green+ Green- |
| Blue+ Blue |
| Random Puzzle | <- Chewing gums for the eyes
| Glass Tiles | <- Maginfication glass
| Convex Concave | <- Special mirrors
| Previous Next | <- Select picture
| Mag+ Mag- | <- Set maginfication factors
| HorzFlip VertFlip| <- Flip the image
| Rotate90 BlkWhte | <- Rotation, Black&White mode
| ShakeIt ShLevel | <- More chewing gums for the eyes
| Curtain CurMode | <- Even more chewing gums for the eyes
| Pick'em Kill'em | <- And more of chewing gums
| Music Mfile | <- Chewing gums for the ears
| Delay Show'em | <- Slide show commands
| Scroll Select | <- View commands
| Resize Save |
| Rename Delete | <- File selection commands
| <--- ---> |
| ---^ ---v | <- Image shift commands
| Memory FullScr | <- Memory report, Full Screen mode
| Open Close | <- Open new image or closing current image
| Restore Exit | <- Redraw with original colour table, Exit
| |
+------------------+
Please do not feel alarmed if you find it hard to
understand the above control panel. Most of the functions
are self-explanatory as soon as you try them. Some more
complex functions that need some explanation will be
explained shortly. But first let's look at a mouse
technique, the mouse is seen as a big + sign. To select
an area you find a suitable spot and press the leftmost
button once, then release it go to another spot opposite
to form a rectangle, then press the same button once
again. The two points together help NakedEye to determine
the size of a square area (the smaller side of the
rectangle). This square area will be used as the active
image area directly affected by the current command.
- Random moves blocks of pixels randomly.
- Puzzle shifts blocks of pixels randomly.
- Tiles changes the number of rows and columns that
the whole image will be divided into when Random
or Puzzle is active.
- Glass acts as a real-time magnification glass. You
have to select a square area to help NakedEye
determine the size of the glass, then the real-
time glass will move everywhere you move the
mouse.
- Convex acts as a special round mirror that is
produced by variable magnification factors
reducing/increasing gradually and steadily from
the outside to the centre of a circular area.
These mirrors are very expensive in CPU time,
therefore it is recommended for 286 with a math
co-processor or 386 or 486 machines only.
- Concave is similar to Convex but has the opposite
effect.
- Mag + and Mag - are for setting the magnification
factor for the Glass, Convex and Concave mirrors.
- HorzFlip flips the image horizontally so that left
becomes right and vice versa.
- VertFlip flips the image vertically so that top
becomes bottom and vice versa.
- Rotate90 rotates the image by 90 degrees. This
when combined with the flipping commands helps you
to get the desired orientation for an image.
- Shake'it lets you select an area. It then shakes
the rectangle. If you press the mouse it will stop
and wait for you to select a new area. To exit from
this mode type ESCape key. ShLevel is for you to
the vibration level.
- Curtain draws a 50% visibility curtain across an
area selected by the user. The direction can be
left-to-right, right-to-left, top-to-bottom or
bottom-to-top according to the mode selected using
CurMode.
- BlkWhte reduces the colour table to a gray scale
table to give a black and white look for the
image. This is a mode only and can be turned off
by the command Restore.
- Pick'em is a command used to highlight small parts
of the image. A portion of the image is extracted,
and it will be floating inside the image area like
a fish in an aquarium.
- Kill'em kills the objects created by Pick'em so
that they stop floating on the screen. The object
to be eliminated will have to be selected
individually.
- Delay sets the value for the slide show. It is a
rotary value (back to minimum when it passes the
maximum).
- Resize allows you to resize an image, the image is
written into a file which can be loaded later. It
is an expensive function because of the memory
restriction of the PC architecture. A lot of disk
swapping is done, but the good thing is that you
can resize to any reasonable size (between 10-2000
pixels wide or high). It takes about 5 minutes to
resize an image to 1500x1500 and about 1.5 minutes
to resize an image to 800x600 on a 25Mhz 386 PC.
- Rename helps you to rename a GIF file. It is there
for you to put good or bad picture into a collection
of similar names. Delete is the command to eliminate
bad GIF files from your disk.
- Save is an inexpensive routine that writes the
image out in GIF format with the current
magnification factor for viewing. This factor is
determined by two keys strokes U to blow it up and
D to get it down.
- FullScr hides the control panel, to revert to the
panel type F on the keyboard. The keystroke F is a
toggle (on/off) key for the FullScreen mode.
- Restore reloads the original colour table and
redraws the image.
1.4.2 The Keyboard Functions
The keyboard is an alternative if you do not have a mouse
to access the control panel, and it also caters for some
functions that the control panel does not have room to
accommodate. The way to work the keyboard is a bit
cunning, and you do not have to know everything to get
the most out of NakedEye. Many keys will be used to offer
the same commands which can be activated from the control
panel by the mouse. If you do not have a mouse, then the
keyboard has to be used instead. Not all functions on the
control panel are offered on the keyboard, and the
reverse is also true that not all keyboard commands are
on the Control Panel.
Key 1, 2, 3 and 4 are for switching to different
resolutions from 640x400 to 1024x768.
A tells about the program (AboutMe).
B goes back to previous image (Previous).
C closes current image (Close).
D reduces the display magnification factor by 1.
E exits to DOS (Exit).
F switches ON/OFF full-screen mode (FullScr).
H flips the image horizontally.
M Play the VOC sound file associated with the image
(Please read NOTE.TXT for more information)
N goes to next image (Next).
P shows the Puzzle (Puzzle).
R restores the colour and redraws the image (Restore).
T toggles background/foreground colour.
U increases the magnification factor by 1.
V flips the image vertically.
W writes the images out (Save).
F1 shows a help window.
F2 does a slide show (Show'em).
F3 changes time delay in seconds (Delay).
F9 does shell escape to DOS (SHELL).
F10 toggles ON/OFF the idle time detection and
automatic next-image-decoding running in the
background.
ESC stops the current command or exit back to DOS if no
command is running.
HOME shows the top-left corner of the current image.
LEFT shifts the image left gradually.
UP shifts the image up gradually.
DOWN shifts the image down gradually.
RIGHT shifts the image right gradually.
CTRL-S saves the gif file (Save).
CTRL-R rotates the gif file by 90 degrees.
CTRL-D dumps the screen. The only portion that fits into
the window is dumped out in GIF format. This is
very similar to Save but the source is the screen.
The output file is "eye#.gif" where # is a number.
Please note that LEFT, DOWN, UP and RIGHT are the arrow
keys. You can control the scrolling of the image using
these keys. It takes time to refresh the screen in high
resolution such as 800x600 and 1024x768. This means you
should not type ahead the speed of the machine because
this will eventually cause you to wait.
You may have noted that the magnification factor you get
from the keyboard is not the same as the one on the
control panel. The keyboard is for the whole image whilst
the magnification from the panel is for the real-time
magnifying glass, the convex and concave mirrors.
The current command can be stopped by the ESC key or at
other situations, by holding the leftmost mouse button
down (mouse-related commands)
1.4.3 Other weird features
There are a couple of weird features that can be invoked
from the keyboard. When NakedEye is waiting for your
command the two keys J and K are used to change the
colour of the mouse. The mouse has its colour from the
colour table of the current GIF image. Sometimes the
mouse is hard to see and the keys can be used to change
it. Initially the colour of the mouse is set to the last
colour index in the colour table.
When you are in the shifting mode where the whole image
drifts slowly, the current image is drifting up/down or
left/right depending on what arrow key was used. The
arrow keys are also used to slow the speed down or
increase it depending upon in what direction the image is
drifting. Simply do some experiments with them and you
will see that they are intuitive enough.
You will also notice that the keys U and D are used for
instant magnification and reduction of the current image.
The way they work are through duplicating pixels, and
this means the image will be blown up by 2, 3, 4 ...
times the original size. NakedEye limits the
magnification factor to 10, but It also offers a
magnification factor of 0.5. This strange number actually
causes 50 of the pixels to be skipped in both directions
and effectively reduces the image by half each side. It
is the only way to bring huge images (about 1500x1500)
into the SuperVGA screen instantly without the huge
overhead of scaling. But as soon as you are ready to do
something else, NakedEye will return the image back to
the original size, then continue to do what you command
it to do.
1.5 What else do you need to know ?
This copy of the software is offered for free
(unregistered copy) without warranty of any kind. If you
are happy with the unregistered copy and its limited
functionality, you are welcome to use it. However if you
would like to have a fully functional copy of NakedEye
you should register. More information will be given
later, especially if you support an environmental
organisation you are more than welcomed to have a
registered copy for free.
NakedEye has been tested extensively, and no obvious bugs
are known. There may be a minor problem with the SuperVGA
graphics driver.
The BGI driver of Jordan crashes on some video cards if
you try to select the video mode that your hardware does
not support. On some good video cards the driver will be
able to come back and complain. I cannot handle the case
when it crashes. The machine will have to be rebooted. To
avoid this situation, you can explicitly tell NakedEye
about the video modes that your video card can handle.
The variable resol in the file nakedeye.cfg can be set to
the correct video modes.
NakedEye does not handle interlaced GIF files. This is a
limitation due to a trade-off in the design of the
software.
It uses very little memory for each GIF file, and this
makes it too hard for decoding interlaced GIF files. You
have to convert interlaced GIF files into normal GIF
files using some utility in the public domain. One of
such utility is GifInter (created by Gershon Elber in his
GIFLIB) for the purpose. Please look at the README file
for more information.
There are a couple of command line options that you can
use to invoke NakedEye into a correct video resolution or
avoid the automatic compression of the colour table. Here
is the full UNIX and DOS style synopsis :
NakedEye [-m] [-mRES] [-c] [-q] [-s] [-dSECS] [-ns] gif-files
Or
NakedEye gif-files [/m] [/mRE] [/c] [/q] [/s] [/dSECS] [/ns]
Gif-files is a list of GIF files or names with wild card
or even directory names. The scanning process can take
some time if you give NakedEye too many places to search
for GIF files.
Option -m is used to set the start-up resolution for the
video card where RES is one of 320x200, 640x400, 640x480,
800x600 and 1024x768. To save you from typing such a long
string, NakedEye also understands /0, /1, /2, /3 and /4
respectively.
When -m is used with no argument NakedEye 1.0.1 will start
up into a file selection menu for user to choose files.
To start NakedEye up in 800x600, simply type nakedeye /3
*.gif, for instance.
Option -c tells NakedEye not to compress the colour table
for each image. This is useful if you do not want to
alter the images fearing some problem later when you may
like to save them into new GIF files. I have not found
any problems with compressing the colour table. The
compression tends to leave a few empty colour entries
behind to be used as colours for the Control Panel and
text.
Option -q is for quick display of a GIF file. When
NakedEye sees this flag it will display the GIF file (or
the first of many) straight away with FullScreen mode
turned ON. You can then manipulate the image by the
keyboard or hit ESC to exit. Of course, you can hit the F
key to toggle to normal mouse-driven mode and
proceed as usual. To start a slide show simply hit the F2
key after the first image has been loaded.
Option -s is for starting up a slide show. A slide show
can be started up by option -q then the F2 key, but there
will be users who want to save one extra key stroke.
Option -d is used to set up a delay time value between
each picture in a slide show of the GIF pictures where
SECS is the amount of time in seconds. To get a slide
show going, the typical method is to run NakedEye with a
wild card to match all the desired GIF files and option -
s for a quick start up straight into a slide show.
nakedeye -s -d5 *.gif
The above command will start NakedEye and set it ready
for you to have a slide show with 5 seconds delay between
each image. I assume that you have all the desired GIF
files in the current directory. Of course, at first the
show will be much slower than 5 seconds between each
image because a lot of time is needed to load (decode)
the images into memory (and/or hard disk cache). Once all
the GIF files have been decoded, the speed can be very
fast depending on how much memory your machine has.
Option -ns stops NakedEye from sorting the list of GIF
files given to it. This may be what you desired so that
you can manually arrange the images into a particular
order.
Perhaps you would have noticed that the DOS convention of
option using the / character is also supported. The
options can be placed anywhere on the command line even
between the list of GIF files. NakedEye automatically
discards all non-GIF formatted files if you use a wild
card. The wild card "*" means everything that can be
read. This is in fact the one I use myself all the time.
There is also a configuration file called nakedeye.cfg
for you to set the default start up for your PC. The
sample file is self-explanatory with a lot of comments
inside. Simply follow the comments and set it right for
your system. The most probable item that you would set is
the default start-up resolution. This should be set to
the best resolution you have in your hardware. If you
worry about speed, also set the swap buffer file's path
to your fastest hard drive. In case you do not have a
memory manager LIM 4.# installed, but you have a large
ramdisk installed, then go for it! - set the path of the
swap file to this ramdisk to make swapping a lot faster.
Please read the section Configuring NakedEye if you plan
to tune NakedEye to your taste.
If NakedEye crashes due to some system exception trap,
the EMS memory may not be freed, and this means the
machine has to be rebooted to get the EMS memory
functional again. This is inevitable for this kind of
situation. To reduce the chance that this happens, please
do not use Ctrl-C or Ctrl-Break to break the program
unless you are desperate to do so, and also do not to
switch to the video modes that your hardware cannot
handle. In any problematic case hit the ESC key and wait
for NakedEye to complete what it is doing and exits
cleanly.
In case of crashes you should look for a file called
buffer#.tmp in your disk and delete it as that is the
swap file used for buffering the decoded GIF images.
The software is designed to handle up to 50 Mbytes of GIF
files in a session, therefore the swap buffer file can be
very large.
If you use commands that will alter the actual size of
the image NakedEye will have to performed a lot of disk
I/O because it is designed to conserve memory. It will
create temporary files for swapping. These files all have
the .tmp extensions to make it easy for you to identified
and delete them if the system crashes. It is a good idea
to set the variable bufpath in namedeye.cfg to the
fastest hard disk you have, and make it point to a
directory that is used mainly for temporary files that
can be removed any time. For example, if you have drive
C: as the fastest drive (and/or it has a lot of free disk
space), the bufpath should be set to c:\tmp. Then you
create c:\tmp to accommodate all the temporary files.
1.6 Configuring NakedEye
NakedEye will run fine in most situations with a decent
hardware setup. However, you can get the most out of
NakedEye by doing some tuning to fit it in perfectly with
your system. You can set the variables in nakedeye.cfg
to alter the behaviour of NakedEye.
svga is a variable to be set to the full path name to
your preferred SuperVga BGI driver. Some video cards have
their own BGI driver, therefore if the standard BGI
driver which comes with NakedEye does not work, you
should set this to the one that works.
Here is an example
svga=c:\mydriver.bgi
You have to be careful if you choose a different
BGIdriver for NakedEye. The mapping of the video mode
numbers and the actual resolution in the Svga256.bgi
driver is as follows:
Mode 0 to 320x200
Mode 1 to 640x400
Mode 2 to 640x480
Mode 3 to 800x600
Mode 4 to 1024x768
If the mapping of your SuperVGA driver is different then
some commands may switch NakedEye to a wrong resolution.
bufpath is the directory path name to where the temporary
buffer file for NakedEye to swap decoded raster images
out when memory is low. It should be set to your fastest
and/or largest hard disk.
Here is an example
bufpath=c:\tmp
NakedEye uses the hard disk very often for swapping
therefore it creates a number of temporary files that
will be removed when no longer needed. However, your
system crashes when NakedEye is running, these files may
have to be removed manually if your are short of space.
That is why it is a good idea to set bufpath to a
directory which is used mainly for temporary stuffs that
can be removed at any time.
ems is a yes/no flag to indicate whether you want
NakedEye to use EMS memory. The default is yes as this is
what most people want.
greeting is a yes/no flag to indicate that whether you
want to have the LOGO display when NakedEye starts up.
You may want to disable it when you have got a registered
copy of the software and do not want to wait 30 seconds
for the LOGO to disappear.
compress is a yes/no flag that indicates whether you
would like NakedEye to compress the color table. The
default is yes because this is what almost everybody
wants.
quickstart is a yes/no flag that indicates whether a
quick start-up is what you want. This is identical to
option /q on the command line. If it is set to yes, the
LOGO and file selection menus are skipped altogether. But
the only difference is that NakedEye will start up with
the FullScreen mode OFF instead of ON NakedEye has been
designed to be simple. This configuration step
unfortunately makes it look a little bit complex.
However, it is hoped that you will not have to do much
configuration at all and still get what you want out of
NakedEye.
1.7 A pleasure-seeker's tour of NakedEye
In this section I would like to guide you through the
most enjoyable ways to view GIF pictures using NakedEye.
Obviously you need to have a good collection of GIF
pictures preferably big GIF files. Then secondly you need
a good hardware setup with SuperVga resolutions up to
1024x768 pixels in 256 colours. You really need a video
card with 1 Mbyte memory to support the resolution
1024x768 in 256 colours. Many people have cards with
512Kbyte memory, but they mistaken that the card can
support 1024x768 in 256 colours.
1.7.1 A quick start for the greedy viewer
All you really want is a quick start up and glance
through the pictures. This is typical when you are about
to select good GIF pictures out of hundreds that you have
just copied. You can simply start NakedEye with option /q
for a quick start.
NakedEye /q GIF-FILE(s)
Provided that you have a registered copy of the software,
the LOGO and selection menu are skipped altogether with
the /q option. NakedEye starts up in FullScreen mode, and
this means you do not see the Control Panel (however you
can get it by typing F to toggle between FullScreen
(KeyBoard-Driven) and MouseDriven mode.
At this point you can have two options
You can enter a slide show by hitting the key F2 . The
rest of the selected GIF files will be sequentially
loaded. As soon as they are loaded, NakedEye will run at
its maximum speed giving you a continuous slide show
until the ESC key is typed.
You can view the current picture to your satisfaction
with all the keyboard commands. The typical commands to
try out would be U magnifies the picture up by 2 times
what it was before. D reduces the picture by a factor of
2 .
The arrow keys can be used to shift the image left, down,
up and right. Please note that this only works if the
current image is actually larger than the physical
screen-size (or has been blown up by the U command). Keys
H, V can be used to flip the image. Rotation can only be
activated by the mouse, so you will have to use F to get
back to FullScreen mode to able to access the Control
Panel.
The key 1, 2, 3 and 4 switches to different physical
screen resolutions if you do have different video modes.
Key N gives you the next image. Key F switches to
FullScreen mode so that you can use the Control Panel
with the mouse
1.7.2 Get the best out of small images
Small images can be very frustration to look. You must
know how hard it feels to have a very beautiful but tiny
picture that looks bad when you magnify it. NakedEye can
help with the ability to switch instantly to a higher
resolution video mode right after a magnification.
Use the key U to blow the image up larger than the size
you want to see.
Then use key 3 or 4 to bring the high resolution video
mode in (800x600 or 1024x768). The net effect is that you
have a small reduction in quality but the same picture
size is achieved.
I suppose this needs the best resolution of 1024x768 to
work well. If you do not have this then it may be of
some comfort to know that I do not have a proper 1024x768
pixels resolution either!.
1.7.3 Beauty is in motion
We all know that pictures on computers suffer a huge
reduction in beauty because they do not move !. This is a
hard feeling, and I know it well. That is why NakedEye
gives you something less attractive, but pleasant to
have.
The trick is to set a picture larger than the size of
your screen into motion so that you can gradually see all
of it. While the picture is shifting in a direction you
can control the speed of this shift and, when the speed
is slow, you have a wavy motion effect that is pleasant
to the eyes. The best effect is usually a very slow
motion that gives a watery and wavy look of the moving
image.
Choose an image larger than your physical screen (send
the video mode to lower resolution or blow it up so that
it no longer fits into the screen). Use one of arrow keys
to shift the image in one direction. While the image is
in motion, use the arrow that is opposite to the
direction of the moving image to slow it down and the
opposing arrow key to speed it up.
Some experimentation with this technique will give you a
smooth control over the blurriness you may like to see
the image when you sit back and enjoy this alternative
sense of motion. By the way I not commenting on what you
may be looking at!
1.7.4 The exotic and fantasy or simply love of beauty ?
You will find the three mirrors given by the program
rather exotic. These are the Convex, Concave and the
Glass mirrors. Some even think that these mirrors are
classic . Well whatever you feel about them, they are
their purely for your pleasure.
The convex mirror performs the effect of a convex round
magnifying glass, and the concave mirror performs the
opposite effect which is the concave round magnifying
glass. You must forgive me if I have got the two words
convex and concave mixed up in this software. The Glass
is a straight square glass, but it is special in the
sense that it is performed in real time.
Convex gives a rounded magnification with a gradually
increasing magnification factor to the centre to create
the effect of growing in size.
Concave gives a rounded de-magnification with a gradually
reducing magnification factor to the centre to create the
effect of shrinking in size.
Glass gives a real time square magnifying glass which
moves in synchronization with the mouse cursor.
It is very easy to work these mirrors. Just do the normal
selection of two points on the image to specify the size
of the glass. NakedEye will look at the size of the
rectangle and make the mirror fit into the smaller side
of it.
A word of warning for the round mirrors. They are very
expensive if you do not have a proper 386 or a math-co-
processor. The size of the mirror should not be too big.
NakedEye will make sure that it does not exceed 150x150
as there is not enough memory to hold all the temporary
frames needed to get a decent speed out of a PC lower
than a 386. Once again I will not comment on what you
look at with these mirrors.
NakedEye also gives two types of chewing gum for your
eyes: Puzzle and Random. These are probably great for
coffee breaks as they help you to exercise your eyes'
muscles.
The command Pick'em is a designed for pure pleasure so
that user can set up a number of most interesting objects
in the image. These portions of the image will then be
floating like fishes in an aquarium. This will certainly
slow your machine down if you have many objects floating
around. The spare time that the machine is idle between
commands is used for this function. The object selected
will be drifting across the screen.
To create an object, you can simply select Pick'em then
use the mouse to define a rectangular area on the screen
covering the object you want. The smaller side of the
rectangular area will be the size of the object which is
a square area of image. This object is then recorded and
will be floating about until you explicitly kill each one
by selecting Kill'em then click the left most button when
the mouse cursor is pointing at the object. To cancel the
command simply click on an empty area. When you switch to
a different image, the current objects are still floating
about. However the colour table of the current image will
be different from that of the previous image (where the
objects come from), and this means the objects will
change colour. If you switch to BackWhite mode then the
differences between the colour tables will be minimised.
After a while you would want to eliminate some of the
objects. Simply select Kill'em then point to the object
to be eliminated. A click to empty space will cancel the
command.
1.7.5 Getting very large pictures into full view
NakedEye allows you to get very large pictures into the
physical size of your screen. If D is typed when the
image is in normal size, a zoom factor of 0.5 is applied
to reduce the size of the image by half each direction.
This will fit very large pictures in comfortably,
especially when you have 800x600 or even 1024x768 pixels
resolution.
An alternative exists for looking at different sections
of the picture if it cannot fit on the screen. The scroll
command from the Control Panel will allow you to scroll
the image in both directions at the same time. Simply use
the mouse clicks to form two points on the image. The
size of the rectangle is used to calculate the amount of
scrolling desired in both directions.
A final alternative is the shifting commands: Left, Down,
Up and Right indicated by the arrows shapes on the
Control Panel. You can access these functions very
quickly by the four arrow keys. The shifting is at a
constant number of pixels, but this can be altered when
the image is moving. This creates a wavy slow motion
effect on the scrolling picture.
1.7.6 Prepare a good slide show
Preparing a good slide show is very easy with NakedEye.
You simply work out the following points:
The desired screen resolution depending on the size of
the GIF pictures and also the hardware you have. Select
the needed option from /m640x400 or /m640x480 or
/m800x600 or /m1024x768 (to save typing use /1, /2, /3 or
/4 respectively).
Determine whether you would like NakeEye to sort the
images for you. If the answer is NO then remember the
option /ns.
Now you are ready to run NakedEye
NakedEye /3 /ns /s *.gif
The above command will start NakedEye in quick-start
mode into a slide show where there is no time wasted in
displaying the LOGO and file menu. The switch /ns
prevents the automatic sorting of the file names.
To interrupt the show simply type ESC to return to
command mode. You can use the keyboard to control
NakedEye.
Type F will bring back the Control Panel if you would
like to use the mouse.
Then you can close the images that are not to your taste
and set magnification factor by the keys U or D.
There are various things that you can do to an image
which will affect the display of all images such as
scrolling, magnification etc... You can simply experiment
this all these to see the desired effects.
1.7.7 Image orientation
NakedEye gives users a number of commands to alter the
orientation of the image. You can flip the current image
horizontally or vertically and also rotate it by 90
degrees. Due to the limits in memory architecture of the
DOS machine, these commands can be slow.
HorizFlip flips the current image horizontally. This
command is fairly fast and can be accessed by the key H.
If you type ahead many times, the image will be flipped
left then right and vice versa.
VertFlip flips the image vertically. It is an expensive
command because NakedEye is not designed to use up
precious memory. The whole processed image has to be
dumped out to secondary storage (disk) then reloaded.
This does take time, but if you run NakedEye from a RAM
disk it should be fast.
Rotate90 is a very expensive command. It takes about 40
seconds to rotate a 640x480 image, and about 90 seconds
to do an 1800x600 image (on a 386 at 25Mhz and 16ms seek-
time hard disk). Again this is a trade off between memory
usage and speed which is, in turn, dictated by the DOS
architecture.
With the above commands, you can combine them to alter
the orientation of your current picture. Then you can
save them if you wish with the Save command. These
commands create temporary buffer files where you instruct
NakedEye to put them (in the configuration file) or by
default the current directory. If your system crashes for
some reason when one of these commands are active, please
make sure that you remove them to save disk space. They
all have the extension .tmp for you to recognise easily.
1.7.8 Saving and resizing GIF images
NakedEye gives you some limited capabilities to modify
GIF images and save them. All the colour changes will
affect the saved images. If you have magnified the image
by the key U, this will be taken into account as well.
It is very straight forward with the command Save so I
will not talk about it here. There is another command
call Dump that dumps the screen into a GIF file. It is
very similar to Save but the only difference is that it
only writes whatever on the portion of the screen inside
the window boundaries. The source of the image comes
straight from the video RAM of your machine, this means
all the alterations are recorded into the output file.
NakedEye has to avoid disturbing the screen when the
command is activated by the key Ctrl-D.
The command Resize is not simple and deserves some
consideration. The memory limit of a DOS architecture
causes a big problem with resizing images. Most image are
larger than 4Kbytes, therefore cannot fit into the one
segment of memory allocated.
NakedEye takes a slow but sure approach to resizing the
image. It first resizes the horizontal direction, then
rotates the whole image by 90 degrees, then performs the
same resizing again, then finally rotates it back by 90
degrees. The net result is that it can resize images to
any size between 10-2000 pixels in both directions. This
process surely takes quite sometime to complete if you
deal with images greater than 500x500 pixels in size. It
is fairly fast if you have a lot of EMS memory, and the
memory is not occupied by other GIF files.
For the above reason the output will be written into a
file on the disk, and you have to load it in using the
command Open if you wish to look at it. When you activate
command Resize it will ask for three values: horizontal
size, vertical size and the output file name. You can
give it an extra option s or p standing for speed and
precision respectively. If speed is preferred, the output
file will not be of the exact size but the process is
considerably faster. The trade off is very reason able
because the difference is less than 10 pixels different
in both directions.
NakedEye will handle raster images up to 2500x2500 pixels
in size, but you are pushing your luck with this size
unless you have a lot of free disk space after loading
the image (over 20 Mbytes).
1.7.9 Fix colour problems
The colour tables of the GIF pictures can cause problems
due to the fact that most do use full 256 colour entries.
This mans none is left for NakedEye to paint the Control
Panel, the mouse cursor and the text displayed. NakedEye
tackles this problem by many different ways which may
need your help as you move from one image to another.
Colour table compression is performed automatically to
remove all duplicate colour entries and modify the image
to fit into the new colours table. This tends to squeeze
out up to 5 entries in average, and this is about
adequate for NakedEye to display the Control Panel and
its LOGO. The T command allows you to toggle the colour
of background and foreground. This helps because images
tend to have different colours for background and
foreground. The commands allows the borders of the
windows to show up if it has been submerged into the
background colour.
The colour of the mouse can be very hard to see. If this
is the case then the keys K and J can be used to select
different colours until you can see the mouse cursor
clearly.
1.8 Some conditions
I do not make any promise of having this software
supported free of charge in the future. But if anyone
wants to have a special version custom made for certain
purpose, I will be prepared to build it at some
negotiated cost. In any case, this software is not for
companies to make money out of. Personal use here is
granted for an unregistered copy of NakedEye , however an
unregistered copy is not fully activated, and you
definitely miss out some of the exotic features. I will
be very happy to give a registered copy of this software
out to anyone who makes a reasonable donation to support
an environmental organisation for instance GreenPeace.
Simply send me a proof of such an effort and a self-
addressed, pre-paid courier bag (or postpak) with a
floppy disk and a registered copy will be sent to you.
For others who wish to have a fully functional copy of
NakedEye, please send a registration form to me. You will
receive the latest copy of NakedEye and a properly
typeset user guide.
If you are on the Internet, I can e-mailed the key to you
after receiving the registration form.
I also disclaim any responsibility in case the software
causes any damage to your computer. It has been tested
fully and no bug is currently known, apart from some
possible problems with the SuperVga graphics driver when
an unpopular video card is used.
I hope that everybody will enjoy NakedEye, please send
all comments to my e-mail address v.mai@uow.edu.edu.au
or mail me at
Mr. Van Dao MAI
50/7 Corrimal St.
Wollongong N.S.W 2500
Tel: 61 042 213346
Australia
Any suggestion for improvement would be greatly
appreciated.